package cn.iocoder.yudao.module.scrm.controller.admin.business.vo.business;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*;

/**
 * @Author LiZhiMin
 * @Date 2024/6/19 10:14
 */
@Schema(description = "管理后台 - 商机 Response VO")
@Data
@ExcelIgnoreUnannotated
public class BusinessDetailVO implements Serializable {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8176")
    private Integer id;

    @Schema(description = "商机标题")
    private String title;

    @Schema(description = "关联客户id", example = "11697")
    private Integer customerId;

    @Schema(description = "关联客户姓名", example = "11697")
    private String customerName;

    @Schema(description = "关联客户主要联系人", example = "11697")
    private String customerEnterprise;

    @Schema(description = "关联客户联系电话", example = "11697")
    private String phone;

    @Schema(description = "关联订单id", example = "1199")
    private Integer orderId;

    @Schema(description = "主要联系人")
    private String contacts;

    @Schema(description = "预计销售金额", example = "14637")
    private BigDecimal predictMarketPrice;

    @Schema(description = "预计签单时间")
    @DateTimeFormat(pattern =FORMAT_YEAR_MONTH_DAY)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
    private LocalDate predictWrittenTime;

    @Schema(description = "销售阶段  scrm_sales_stage")
    private String salesStage;

    @Schema(description = "商机类型  scrm_business_type", example = "2")
    private String businessType;

    @Schema(description = "成交几率  scrm_transaction_probability")
    private String transactionProbability;

    @Schema(description = "商机来源  scrm_business_source")
    private String businessSource;

    @Schema(description = "获取日期")
    @DateTimeFormat(pattern =FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private LocalDateTime acquisitionDate;

    @Schema(description = "归属人员id")
    private String vestingOfficer;

    @Schema(description = "归属人员姓名")
    private String vestingOfficerName;

    @Schema(description = "归属人员部门名称")
    private String vestingOfficerDept;

    @Schema(description = "备注信息", example = "你猜")
    private String remark;

    @Schema(description = "系统编号")
    private String systemNumber;

    @Schema(description = "负责人的用户编号", example = "24758")
    private String ownerUserId;

    @Schema(description = "前负责人的用户编号-->前归属人员id", example = "9662")
    private String oldOwnerUserId;

    @Schema(description = " >前归属人员姓名", example = "9662")
    private String oldOwnerUserIdName;

    @Schema(description = "前归属人员部门名称", example = "9662")
    private String oldOwnerUserIdDept;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "创建人姓名")
    private String creator;

    @Schema(description = "场次开始时间")
    @DateTimeFormat(pattern =FORMAT_YEAR_MONTH_DAY)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
    private LocalDate sessionBeginTime;

    @Schema(description = "场次结束时间")
    @DateTimeFormat(pattern =FORMAT_YEAR_MONTH_DAY)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
    private LocalDate sessionEndTime;

    @Schema(description = "签到情况")
    private String signCondition;




}